package edu.columbia.plt.visage.interfaces;

import java.awt.Color;
import java.util.Collection;

import edu.columbia.plt.visage.Agent;


public interface ICell {

	// get agents
	public abstract Collection<Agent> getAgentByID(int ID);

	public abstract Collection<Agent> getAgentsBySize(int size);

	public abstract Collection<Agent> getAgentsByType(String type);

	public abstract Collection<Agent> getAgentsByColor(Color color);

	public abstract Collection<Agent> getAllAgents();

	// remove agents
	public abstract void removeAgentByID(int ID);

	public abstract void removeAgentsBySize(int size);

	public abstract void removeAgentsByType(String type);

	public abstract void removeAgentsByColor(Color color);

	public abstract void removeAllAgents();

	// add an agent
	public abstract void addAgent(Agent agent);

	public abstract void changeColor(Color color);

	public abstract Color getColor();

}